#ifndef _OBSERVABLE_H
#define _OBSERVABLE_H

#include <vector>

#include "listener.h"
#include "event.h"

class Observable {

public:
	void AddListener(Listener* l);
	void RemoveListener(Listener* l);

protected:
	void InformListeners(Event* e);

private:
	std::vector<Listener*> m_Listeners;
};

#endif